<template>
	<div class="know-list">
		
		<h3 id="know1">第一阶段</h3>
		
		<table class="first">
			<tr class="table-head">
			  <th>所处阶段</th>
			  <th>主讲内容</th>
			  <th>技术要点</th>

			  <th>学习目标</th>
			</tr>
			<tr>
				<td rowspan="7" class="td-1-bg">
					<span class="td-span" style="font-size: 14px;width: 50px;">C语言</span>
					<span class="td-span">初级课程</span>
				</td>
				<td class="td-2-bg">
					<p style="width: 60px;">初始C语言</p>
					<p>常量变量</p>
				</td>
				<td  class="td-3-bg" >
					<ul>
						<li>1.认识第一个C语言程序</li>
						<li>2.什么是注释？</li>
						<li>3.什么是字符串</li>
						<li>4.转义字符的介绍</li>
						<li>5.C语言数据类型介绍</li>
						<li>6.常量变量及命名规则？</li>
						<li>7.关键字介绍</li>
						<li>8.变量的初始化和赋值</li>
						<li>9.表达式的求值</li>
						<li>10.C语言特点？</li>
						<li>11.如何学好C语言编程</li>
					</ul>
				</td>
				
				<td class="td-2-bg">
					对C语言语法的编程有个宏观的认识
				</td>
			</tr>
			<tr>

				<td  class="td-2-bg">
					分支语句
				</td>
				<td class="td-3-bg">
					<ul>
						<li>1.if语句</li>
						<li>2.if语句书写规范？</li>
						<li>3.整数和0的比较</li>
						<li>4.浮点数和0比较</li>
						<li>5.指针和0比较？</li>
						<li>6.bool值和0比较</li>
						<li>7.switch语句及书写规范</li>
						<li>8.goto语句？</li>
					</ul>
				</td>
				
				<td class="td-2-bg">
					熟练使用C语言中的if/switch分支语句，及编程规范
				</td>
			</tr>
			<tr>
				<td class="td-2-bg">循环语句</td>
				<td class="td-3-bg">
					<ul>
						<li>1.while语句与语法</li>
						<li>2.for语句语法</li>
						<li>3.do...while语句语法</li>
						<li>4.循环语句的效率</li>
						<li>5.折半查找算法应用场景实现</li>
						<li>6.猜数字游戏实现</li>
					</ul>
				</td>
				
				<td class="td-2-bg">熟悉使用C语言中各种循环语句及注意事项</td>
			</tr>
			<tr>
				<td  class="td-2-bg">
					操作符和表达式
				</td>
				<td class="td-3-bg">
					<ul>
						<li>1.C语言中所有操作符的介绍</li>
						<li>2.操作符的优先级/结合性</li>
						<li>3.表达式的求值</li>
					</ul>
					
					
					
				</td>
				
				<td class="td-2-bg">熟悉C语言的操作符</td>
			</tr>
			<tr>
				<td  class="td-2-bg">简单函数</td>
				<td class="td-3-bg">
					<ul>
						<li>1.C语言函数的基本概念</li>
						<li>2.函数的分类:库函数/自定义函数</li>
						<li>3.实参、形参的设计</li>
						<li>4.函数的设计</li>
						<li>5.链接属性</li>
						<li>6.函数的应用</li>
					</ul>
				</td>
				
				<td class="td-2-bg">掌握函数的使用及代码的模块设计</td>
			</tr>
			<tr>
				<td  class="td-2-bg">数组</td>
				<td class="td-3-bg">
					<ul>
						<li>1.一维数组的创建和初始化</li>
						<li>2.一维数组的使用</li>
						<li>3.一维数组再内存中的储存</li>
						<li>4.指针的初步介绍</li>
						<li>5.一维数组的指针访问</li>
						<li>6.二维数组的创建和初始化</li>
						<li>7.二维数组的使用</li>
						<li>8.二维数组再内存中的储存</li>
						<li>9.二维数组的指针访问</li>
						<li>10.有关数组的运算</li>
						<li>11.数组作为函数参数</li>
						<li>12.数组的应用实例1：三子棋</li>
						<li>13.数组的应用实例2：扫雷游戏</li>
					</ul>
				</td>
				
				<td class="td-2-bg">掌握数组的使用和底层原理</td>
			</tr>
			<tr>
				<td class="td-2-bg">调试技巧</td>
				<td class="td-3-bg">
					<ul>
						<li>1.什么是bug？</li>
						<li>2.调试是什么？有多重要？</li>
						<li>3.debug的release的介绍</li>
						<li>4.windows环境调试介绍</li>
						<li>5.一些调试的实例</li>
						<li>6.如何写出（易于调试）的代码</li>
						<li>7.编程常见的错误</li>
					</ul>
				</td>
				
				<td class="td-2-bg">学会调试让你不再害怕编程</td>
			</tr>
		</table>

        	
        <h3 id="know2">第二阶段</h3>
		<table class="first">
			<tr class="table-head">
			  <th>所处阶段</th>
			  <th>主讲内容</th>
			  <th>技术要点</th>

			  <th>学习目标</th>
			</tr>
			<tr>
				<td rowspan="9" class="td-1-bg">
					<span class="td-span" style="font-size: 14px; width: 50px;">C语言</span>
					<span class="td-span">进阶课程</span>
				</td>
				<td class="td-2-bg">
					<p style="width: 60px;">编译链接详解</p>
				</td>
				<td  class="td-3-bg">
					<ul>
						<li>1.linux初识</li>
						<li>2.程序的翻译环境</li>
						<li>3.程序的执行环境</li>
						<li>4.详解:C语言程序的编译+链接</li>
						<li>5.预处理指令# define</li>
						<li>6.宏和函数的对比</li>
						<li>7.#和##的介绍</li>
						<li>8.命令定义</li>
						<li>9.预处理指令# nclude</li>
						<li>10.预处理指令# undef</li>
						<li>11.条件编译</li>
					</ul>
				</td>
				
				<td class="td-2-bg">
					掌握C语言到可执行程序的过程及常见预处理指令的使用


				</td>
			</tr>
			<tr>

				<td  class="td-2-bg">
					<p>深度剖析数据</p>
					<p>在内存中的存储</p>
				</td>
				<td class="td-3-bg">
					<ul>
						<li>1.数据类型详细介绍</li>
						<li>2.整形在内存中的存储原码反码、补码</li>
						<li>3.大小端字节序介绍及判断</li>
						<li>4.浮点型在内存中的存储解析</li>
						<li>5.C/C++程序内存的分配？</li>
						<li>6.const的深度讲解</li>
						<li>7.volatile关键字讲解</li>
						<li>8.变量的存储及生命周期</li>
						<li>9.static关键字的总结</li>

					</ul>
				</td>
				
				<td class="td-2-bg">
					理解数据在内存存储方式及原理

				</td>
			</tr>
			<tr>
				<td class="td-2-bg">深度理解函数</td>
				<td class="td-3-bg">
					<ul>
						<li>1.复习函数的基础知识</li>
						<li>2.为什么要有函数?</li>
						<li>3.函数的调用过程解析(函数栈帧)</li>
						<li>4.函数递归的剖析</li>
						<li>5.main函数的参数解析</li>
					<li>6.可变参数列表技术解析</li>
					</ul>
				</td>
				
				<td class="td-2-bg">
					通过汇编角度深刻理解函数的调用过程<br />和函数的高级知识
				</td>
			</tr>
			<tr>
				<td  class="td-2-bg">
					指针(上)
				</td>
				<td class="td-3-bg">
					<ul>
						<li>1.指针是什么?</li>
						<li>2.为什么存在指针？</li>
						<li>3.指针和指针类型</li>
						<li>4.二级指针</li>
						<li>5.指针表达式解析</li>
						<li>6.指针运算</li>
						<li>7.如何写出面试官满意的代码-模拟实现 </li>
						<li>模拟实现 strlen</li>
						<li>模拟实现 strcpy</li>
						<li>模拟实现 strcat</li>
						<li>模拟实现 strstr</li>
						<li>模拟实现 strcmp</li>
						<li>模拟实现 memcpy</li>
						<li>模拟实现 memmove</li>
					</ul>
				</td>
				
				<td class="td-2-bg">
					a.学会指针的基本语法及指针的应用
					b.使用指针模拟实现库函数
				</td>
			</tr>
			<tr>
				<td  class="td-2-bg">指针(下）</td>
				<td class="td-3-bg">
					<ul>
						<li>1. 一维数组</li>
						<li>2.—级指针</li>
						<li>3.二维数组</li>
						<li>4.二级指针</li>
						<li>5.指针数组</li>
						<li>6.数组指针</li>
						<li>7.指针和数组的定义与声明</li>
						<li>8.数组参数与指针参数</li>
						<li>9.函数指针</li>
						<li>10.函数指针数组，数组指针的数组的指针</li>
						<li>11.回调函数的应用：通用排序的实现</li>
					</ul>
				</td>
				
				<td class="td-2-bg">
					掌握指针的高级概念及应用
				</td>
			</tr>

			<tr>
				<td class="td-2-bg">字符串函数解析</td>
				<td class="td-3-bg">
					<ul>
						<li>1.求字符串长度</li>
						<li>2.长度不受限制的字符串函数</li>
						<li>3.长度受限制的字符串函数介绍</li>
						<li>4.字符串査找</li>
						<li>5.高级字符串査找</li>
						<li>6.错误信息报告</li>
						<li>7.字符操作</li>
						<li>8.内存操作函数</li>
					</ul>
				</td>
				
				<td class="td-2-bg">掌握字符串库函数的使用和注意事项</td>
			</tr>

			<tr>
				<td class="td-2-bg">C语言自定义类型介绍</td>
				<td class="td-3-bg">
					<ul>
						<li>1.结构体类型的声明</li>
						<li>2.结构的成员</li>
						<li>3.结构的自引用</li>
						<li>4.结构的不完整声明</li>
						<li>5.结构体变量的定义和初始化</li>
						<li>6.结构体内存对齐</li>
						<li>7.结构体传参</li>
						<li>8.结构体实现位段（位段的填充&可移植性）</li>
						<li>9枚举类型的定义</li>
						<li>10.枚举的优点</li>
						<li>11.枚举的使用</li>
						<li>12.联合类型的定义</li>
						<li>13.联合的特点</li>
						<li>14.联合大小的计算</li>
					</ul>
				</td>
				
				<td class="td-2-bg">掌握C语言自定义类型：结构体、枚举、联合的使用</td>
			</tr>
			<tr>
				<td class="td-2-bg">C语言IO口函数介绍</td>
				<td class="td-3-bg">
					<ul>
						<li>1. 错误报告函数</li>
						<li>2.终止执行</li>
						<li>3.I/O概念</li>
						<li>4.I/O函数总览</li>
						<li>5.打开流</li>
						<li>6.关闭流</li>
						<li>7.字符I/O</li>
						<li>8未格式化的行I/O</li>
						<li>9.格式化的行I/O</li>
						<li>10.二进制I/O</li>
						<li>11.其他函数介绍</li>
					</ul>
				</td>
				
				<td class="td-2-bg">
					掌握C语言的I/O概念、文件操作和错误处理
				</td>
			</tr>

		</table>
		<h3 id="know3">第三阶段</h3>
		<table class="first">
			<tr class="table-head">
			  <th>所处阶段</th>
			  <th>主讲内容</th>
			  <th>技术要点</th>

			  <th>学习目标</th>
			</tr>
			<tr>
				<td rowspan="9" class="td-1-bg">
					<span class="td-span" style="font-size: 14px;width: 50px;">算法数据结构</span>
					<span class="td-span">初级课程</span>
				</td>
				<td class="td-2-bg">
					<p style="width: 60px;">时间复杂度</p>
					<p>空间复杂度</p>
				</td>
				<td  class="td-3-bg">
					<ul>
						<li>1.什么是时间复杂度和空间复杂度？</li>
						<li>2.时间复杂度和空间复杂度的意义？</li>
						<li>3.如何计算时间复杂度和空间复杂度？</li>
						<li>4.分治算法时间/空间复杂度计算--二分查找和平衡搜索树查找</li>
						<li>5.递归算法的时间空间复杂度计算--斐波那契数列</li>
						<li>6.不同时间复杂度耗时的比较绍</li>
					</ul>
				</td>
				

				<td class="td-2-bg">
					理解算法的效率和空间占用
				掌握时间复杂度和空间复杂度的计算
				预估算法效率和占用空间
				</td>
			</tr>
			<tr>

				<td  class="td-2-bg">
					线性表
				</td>
				<td class="td-3-bg">
					<ul>
						<li>1.顺序表增删查改的实现</li>
						<li>2.链表增删查改的实现</li>
						<li>  -单链表增删查改的实现</li>
						<li> -双向循环链表增删查改的实现</li>
						<li>-双向循环链表增删查改的实现</li>
						<li>  -常见的链表面试题</li>
						<li>3.栈和队列</li>
						<li>  -基础栈和队列实现</li>
						<li>-栈的运用之-迷宫、逆波兰表达式</li>
						<li>  -队列的运用之-任务队列、优先级队列</li>
						<li>  -栈和栈帧--递归转非递归问题</li>
						<li>  -栈和队列面试题</li>

					</ul>
				</td>
				
				<td class="td-2-bg">
					掌握顺序表、链表、栈、队列的实现
					理解四个线性表的使用场景的和优缺点
				</td>
			</tr>
			<tr>
				<td class="td-2-bg">二叉树基础</td>
				<td class="td-3-bg">
					<ul>
						<li>1.复习函数的基础知识</li>
						<li>  -二叉树的创建和释放</li>
						<li>  -前序/中序/后序递归&非递归遍历</li>
						<li>  -求二叉树结点个数/叶子结点个数</li>
						<li>/第k层结点个数</li>
						<li>  -层序遍历</li>
						<li>  -判断一颗二叉树是否是完全</li>
						<li>    二叉树</li>
						<li>2.二叉树线索化</li>
						<li>3.堆</li>
						<li>  -层序遍历</li>
						<li>  -判断一颗二叉树是否是完全</li>
						<li>    二叉树</li>
						<li>2.二叉树线索化</li>
						<li>3.堆</li>
						<li>  -优先级队列</li>
						<li>  -堆排序</li>
						<li>  -Top K问题</li>
						<li>4.搜索二叉树增删查改实现</li>
						<li>5.二叉树的常见面试题</li>
					</ul>
				</td>
				
				<td class="td-2-bg">
					掌握二叉树的基本结构<br />深度理解二叉树的递归<br/>
					掌握常见的二叉树变形--堆&搜索树<br />掌握常见面试题
				</td>
			</tr>
			<tr>
				<td  class="td-2-bg">
					排序算法
				</td>
				<td class="td-3-bg">
					<ul>
						<li>1.插入排序</li>
						<li>  -直接插入排序</li>
						<li>  -希尔排序</li>
						<li>2.交换排序</li>
						<li>  -冒泡排序</li>
						<li>-快速排序</li>
						<li>3.选择排序 </li>
						<li>  -直接选择排序</li>
						<li>  -堆排序</li>
						<li>4.归并排序</li>
						<li>5.非比较排序r</li>
						<li>  -计数排序</li>
						<li>  -基数排序</li>
						<li>6.比较各排序的优劣</li>
					</ul>
				</td>
				
				<td class="td-2-bg">掌握常见的排序算法思想及实现
					理解各排序算法的优劣及运用场景</td>
			</tr>
			<tr>
				<td  class="td-2-bg">哈希</td>
				<td class="td-3-bg">
					<ul>
						<li>1.哈希表增删查改的实现</li>
						<li>    -开放定址法</li>
						<li>  -拉链法</li>
						<li>2.位图</li>
						<li>3.布隆过滤器</li>
					</ul>
				</td>
				
				<td class="td-2-bg">
					掌握哈希表的实现
					掌握位图和布隆过滤器
					理解他们的使用场景及意义
				</td>
			</tr>

			<tr>
				<td class="td-2-bg">海量数据处理问题</td>
				<td class="td-3-bg">
					<ul>
						<li>1.Top K问题</li>
						<li>2.求两个大文件交集之</li>
						<li>    --布隆过滤器</li>
						<li>3.求两个大文件交集之</li>
						<li>  --哈希切分</li>
						<li>4.海量整数判重之--位图</li>
						<li>5.海量整数求k次出现之</li>
						<li>  --位图变形</li>
						<li>6.关键词找文件之--倒排索引</li>
					</ul>
				</td>
				
				<td class="td-2-bg">掌握字符串库函数的使用和注意事项</td>
			</tr>
		</table>
		<h3 id="know4">第四阶段</h3>
			<table class="first">
			<tr class="table-head">
			  <th>所处阶段</th>
			  <th>主讲内容</th>
			  <th>技术要点</th>

			  <th>学习目标</th>
			</tr>
			<tr>
				<td rowspan="9" class="td-1-bg">
					<span class="td-span" style="font-size: 14px;width: 50px;">Linux</span>
					<span class="td-span">基本应用课程</span>
				</td>
				<td class="td-2-bg">
					<p style="width: 60px;">常见指令</p>
					<p>以及权限理解</p>
				</td>
				<td  class="td-3-bg">
					<ul>
						<li>1. 初识Linux操作系统，Linux历史，Linux版本？</li>
						<li>2. Linux命令行初识</li>
						<li>3. Linux基本命名介绍？</li>
						<li>4. Shell运行原理</li>
						<li>5. Linux权限的基本概念与基本操作</li>
						<li>6. 粘滞位学习</li>

					</ul>
				</td>
			
				<td class="td-2-bg">
					初步了解Linux历史，对Linux操作迅速上手
				</td>
			</tr>
			<tr>

				<td  class="td-2-bg">
					Linux环境基础<br />
					开发工具使用
				</td>
				<td class="td-3-bg">
					<ul>
						<li>1. Linux多模式代码编辑器vim学习</li>
						<li>2. Linux代码编译器gcc/g++学习</li>
						<li> 3. Linux代码调试器gdb学习</li>
						<li>4. Linux自动化构建项目工具make/</li>
						<li> Makefile学习</li>
						<li>5. Linux软件包管理器yum学习</li>
					</ul>
				</td>
				
				<td class="td-2-bg">
					逐步了解Linux开发，对Linux开发迅速上手
				</td>
			</tr>

		</table>
		<h3 id="know5">第五阶段</h3>
		<table class="first">
			<tr class="table-head">
			  <th>所处阶段</th>
			  <th>主讲内容</th>
			  <th>技术要点</th>

			  <th>学习目标</th>
			</tr>
			<tr>
				<td rowspan="9" class="td-1-bg">
					<span class="td-span" style="font-size: 14px;width: 50px;">C++</span>
					<span class="td-span">初级课程</span>
				</td>
				<td class="td-2-bg">
					<p style="width: 60px;">初识C++</p>
				</td>
				<td  class="td-3-bg">
					1.C++的发展历史<br />
					2.C++真的很难学习吗？<br />
					3.怎么学习C++<br />
				</td>
				
				<td class="td-2-bg">
					了解C++及学习方法
				</td>
			</tr>
			<tr>

				<td  class="td-2-bg">
				C++入门基础
				</td>
				<td class="td-3-bg">
					<ul>
						<li>1.命名空间学习</li>
						<li>2.重载的使用及原理</li>
						<li>3.IO流的基本使用</li>
						<li>4.函数的缺省参数</li>
						<li>5.引用的概念及使用</li>
						<li>6.引用的使用场景</li>
						<li>7.指针和引用的区别</li>
						<li>8.探索引用的底层原理</li>
					</ul>

				</td>
				
				
				<td class="td-2-bg">
				学习C++一些零散的小知识点
				为后面的类和对象部分做铺垫
				</td>
			</tr>
			<tr>
				<td class="td-2-bg">类和对象(上)</td>
				<td class="td-3-bg">
					1.什么是面向对象？
					<br/>2.类和对象及对象实例化
					<br/>3.面向对象三大特性之封装
					<br/>4.对象的大小--内存对齐
				</td>
				
				<td class="td-2-bg">
					初步学习基础面向对象
				</td>
			</tr>
			<tr>
				<td  class="td-2-bg">
					类和对象(中)
				</td>
				<td class="td-3-bg">
					1.隐含的this指针
					<br/>2.6个默认成员函数的讲解
					<br/>3.运算符重载
					<br/>4.深入探索构造函数初始化列表
					<br/>5.日期类实现
				</td>
				
				<td class="td-2-bg">
					深度学习类的定义，能基本
					定义出一个完整的类，
					并清楚编译如何实现他们的特性的
				</td>
			</tr>
			<tr>
				<td  class="td-2-bg">类和对象(下)</td>
				<td class="td-3-bg">
					1.const成员函数
					<br/>2.staic成员
					3.inline函数
					<br/>4.友元函数
					5.编译器对构造拷贝构造的
  					<br/> N种优化情况
				</td>
				
				<td class="td-2-bg">
					学习类和对象的其他一些零散
					知识点
				</td>
			</tr>

			<tr>
				<td class="td-2-bg">C++动态内存管理</td>
				<td class="td-3-bg">
					1.new和delete的使用
					<br/> 2.不同类型数据的内存存储段
					<br/> 3.什么是内存泄漏？
					<br/> 4.内存泄漏的危害是什么？
					<br/> 5.operator new/operator delete的介绍
					<br/> 6.new的定位表达式
					<br/>7.new/delete和malloc/free
						    的区别
					<br/>	8.new/delete的底层原理介绍
				</td>
				
				<td class="td-2-bg">
					深度学习C++的内存管理
					对比C语言内存管理学习
					能熟练使用new/delete,并清楚底层特性
				</td>
			</tr>
			<tr>
				<td class="td-2-bg">深浅拷贝/写时拷贝</td>
				<td class="td-3-bg">
						1.什么是深拷贝？
						<br/>2.什么是浅拷贝？
						<br/>3.什么是写时拷贝？
						<br/>4.深拷贝实现MyString
						<br/>5.写时拷贝实现MyString
						<br/>6.深拷贝实现MyVector
						<br/>7.深拷贝实现MyList
				</td>
				
				<td class="td-2-bg">
					理解什么深浅拷贝
					熟练解决深浅拷贝的问题
					理解写时拷贝的意义及实现
				</td>
			</tr>
			<tr>
				<td class="td-2-bg">继承</td>
				<td class="td-3-bg">

					1.什么是继承？
					<br/>2.继承关系下的访问限定符
					<br/>3.赋值兼容规则--切片
					<br/>4.继承体系中的作用域
					<br/>	5.继承体系中的6个默认成员函数
					<br/>	6.菱形继承和虚继承
					<br/>	7.虚继承的底层原理
					<br/>8.继承中的静态成员函数
				</td>
				
				<td class="td-2-bg">
					深度学习C++面向对象之继承
				</td>
			</tr>
			<tr>
				<td class="td-2-bg">多态</td>
				<td class="td-3-bg">
					1.什么是多态？
					<br/>2.多态的作用
					<br/>3.多态的构成条件
				</td>
				
				<td class="td-2-bg">
					熟悉多态的概念及使用

				</td>
			</tr>
		</table>
		<h3 id="know6">第六阶段</h3>
		<table class="first" >
			<tr class="table-head">
			  <th>所处阶段</th>
			  <th>主讲内容</th>
			  <th>技术要点</th>

			  <th>学习目标</th>
			</tr>
			<tr>
				<td rowspan="9" class="td-1-bg">
					<span class="td-span" style="font-size: 14px;width: 50px;">C++</span>
					<span class="td-span">进阶课程</span>
				</td>
				<td class="td-2-bg">
					<p style="width: 60px;">探索多态对象模型</p>
				</td>
				<td  class="td-3-bg">
					<ul>
						<li>	1.单继承对象模型</li>
						<li>2.多继承对象模型</li>
						<li>3.菱形继承对象模型</li>
						<li>4.菱形虚拟继承对象模型</li>
					</ul>
				
				</td>
				
				<td class="td-2-bg">
					深度学习C++的深浅拷贝问题
					<br/>理解编译器的底层是如何实现多态的
				</td>
			</tr>
			<tr>

				<td  class="td-2-bg">
				泛型编程
				</td>
				<td class="td-3-bg">
					<ul>
						<li>1.什么是泛型编程</li>
						<li>2.泛型编程的重要性</li>
						<li>3.模板函数和模板类</li>
						<li>4.编译器模板实现泛型编程
					 的原理</li>
						<li>5.非类型模板参数</li>
						<li>6.模板的特化</li>
						<li>7.类型萃取</li>
						<li>8.为什么模板不支持分离编译</li>
						<li>9.实现泛型容器之—MyVector</li>
						<li>10.实现泛型容器之--MyList.多继承对象模型</li>
						<li>11.适配器模式实现泛型容器之--MyStack</li>
						<li>12.适配器模式实现泛型容器之--MyQueue</li>
					</ul>
					
					
				</td>
				
				<td class="td-2-bg">
				<br/>熟练掌握模板的使用
				<br/>理解泛型编程的意义
				<br/>理解编译器是如何处理模板的
				<br/>理解模板的各种骚操作
				</td>
			</tr>
			<tr>
				<td class="td-2-bg">RAII之智能指针</td>
				<td class="td-3-bg">
					<ul>
						<li>1.为什么需要智能指针？</li>
						<li>2.智能指针原理--RAII</li>
						<li>3.智能指针的发展历史--Boost&C++11</li>
						<li>4.模拟实现简洁版MyAutoPtr/MyScopedPtr/MySharedPtr/MyWeakPtr</li>
						<li>5.什么是循环引用？怎么解决？</li>
						<li>6.MySharedPtr的定制删除器实现</li>
					</ul>
				</td>
				
				<td class="td-2-bg">

					理解智能指针的意义  理解RAII
					<br/>理解各个版本的智能指针的实现
					<br/>熟悉智能指针的使用
					<br/>理解各智能指针的优缺点
				</td>
			</tr>
			<tr>
				<td  class="td-2-bg">
					异常
				</td>
				<td class="td-3-bg">
					<ul>
						<li>1.常见的错误处理方式</li>
						<li>2.异常的抛出和捕获</li>
						<li>3.异常在实际中的使用</li>
						<li>4.异常的优缺点</li>
					</ul>
					
				</td>
				
				<td class="td-2-bg">
					熟悉异常的特性及使用
					<br/>理解异常的优缺点
				</td>
			</tr>
			<tr>
				<td  class="td-2-bg">IO流</td>
				<td class="td-3-bg">
					<ul>
						<li>1.IO流的设计框架</li>
						<li>2.IO流的常见用法</li>
						
					</ul>
					
				</td>
				

				<td class="td-2-bg">
					了解IO流的使用及框架
				</td>
			</tr>

			<tr>
				<td class="td-2-bg">强制类型转换</td>
				<td class="td-3-bg">
					<ul>
						<li>1.隐式类型转换</li>
						<li>2.四种强制类型的转换</li>
						<li>3.强制类型转换的好处</li>
						<li>4.explicit关键字的作用</li>
					</ul>
					
				</td>
				
				<td class="td-2-bg">
					熟悉强制类型转换的意义及使用
				</td>
			</tr>
			<tr>
				<td class="td-2-bg">C++11</td>
				<td class="td-3-bg">
					<ul>
						<li>1.C++11重要性</li>
						<li>2.C++11新特性之auto</li>
						<li>3.C++11新特性之nullptr</li>
						<li>4.C++11新特性之Range-
						based for loops</li>
						<li>5.C++11新特性之Override和final</li>
						<li>6.C++11新特性之Smart</li>
						<li>7.C++11新特性之Lambdas
						 匿名函数</li>
						 <li>8.C++11新特性之static_assert</li>
						
						<li>9.C++11新特性之Move
					 semantics 右值引用</li>
						<li>10.C++11新特性之Atomics
					 and threading线程及同步互斥</li>
					 <li>11.C++11新特性之unordered_
					map/unordered_set哈希容器</li>
					</ul>
					
				</td>
				
				
				<td class="td-2-bg">
					熟悉C++11中的各种常见的骚操作
				</td>
			</tr>

		</table>
		<h3 id="know7">第七阶段</h3>
		<table class="first">
			<tr class="table-head">
			  <th>所处阶段</th>
			  <th>主讲内容</th>
			  <th>技术要点</th>

			  <th><p style="width: 80px;">学习目标</p></th>
			</tr>
			<tr>
				<td rowspan="9" class="td-1-bg">
					<span class="td-span" style="font-size: 14px;width: 60px;">算法与数据结构</span>
					<span class="td-span">进阶课程</span>
				</td>
				<td class="td-2-bg">
					<p style="width: 60px;">二叉树进阶</p>
				</td>
				<td  class="td-3-bg">
					<ul>
						<li>1.huffman Tree之--文件压缩</li>
						<li>2.AVL树实现</li>
						<li>3.红黑树实现型</li>
					</ul>
					
				</td>
				
				<td class="td-2-bg">
					掌握高阶二叉树的骚操作
					理解它们的存在价值及运用
				</td>
			</tr>
			<tr>

				<td  class="td-2-bg">
				多叉平衡树之
				<br/>B Tree系列
				</td>
				<td class="td-3-bg">
					<ul>
						<li>1.B树的实现</li>
						<li>2.B+树/B*树变形了解</li>
						<li>3.了解数据库引擎原理</li>
						<li>4.了解数据库索引原理</li>
					</ul>
					
					
					<br/>
				</td>
				
				<td class="td-2-bg">
				深度理解外查找
				<br/>了解数据库的原理
				</td>
			</tr>
			<tr>
				<td class="td-2-bg">并查集</td>
				<td class="td-3-bg">
					1.并查集实现
				</td>

				<td class="td-2-bg">
					掌握并查集的实现及运用
				</td>
			</tr>
			<tr>
				<td  class="td-2-bg">
					图
				</td>
				<td class="td-3-bg">
					<ul>
						<li>1.图的基础概念及运用</li>
						<li>2.图的表示 -临接表-临接矩阵</li>
						<li>3.图的深度优先遍历</li>
						<li>4.图的广度优先遍历</li>
						<li>5.图的最小生成树算法 -Prim算法</li>
						<li>6.单源最短路径算法Dijkstra</li>
					</ul>
				  
				</td>
			
				<td class="td-2-bg">
					掌握图的基础操作
					<br/>理解图的运用场景及意义
				</td>
			</tr>

		</table>
	
		<h3 id="know8">第八阶段</h3>
		<table class="first" >
			<tr class="table-head">
			  <th>所处阶段</th>
			  <th>主讲内容</th>
			  <th>技术要点</th>

			  <th>学习目标</th>
			</tr>
			<tr>
				<td rowspan="9" class="td-1-bg">
					<span class="td-span" style="font-size: 14px; width: 50px;">STL</span>
					<span class="td-span">初级课程</span>
				</td>
				<td class="td-2-bg">
					<p style="width: 60px;">STL是什么</p>
				</td>
				<td  class="td-3-bg">
					<ul>
						<li>1.STL的发展历史</li>
						<li>2.STL的六大组</li>
						<li>3.STL的版本及差异</li>
						<li>4.STL的核心设计思想</li>
						<li>5.如何学习STL？需要哪些基础</li>
					</ul>
				
				</td>
				<td class="td-2-bg">
					了解STL各方面
				</td>
			</tr>
			<tr>

				<td  class="td-2-bg">
				STL常见容器
				<br />和算法的使用
				</td>
				<td class="td-3-bg">
					<ul>
						<li>1.vector&list的使用</li>
						<li>2.stack&queue的使用</li>
						<li>3.map&set的使用</li>
						<li>4.iterator的使用及问题</li>
						<li>5.find/reverse/sort等常见算法的使</li>
					</ul>
				
				</td>
			
				<td class="td-2-bg">
				熟练使用STL，提高开发效率
				</td>
			</tr>

		</table>
		<h3 id="know9">第九阶段</h3>
		<table class="first">
			<tr class="table-head">
			  <th>所处阶段</th>
			  <th>主讲内容</th>
			  <th>技术要点</th>

			  <th>学习目标</th>
			</tr>
			<tr>
				<td rowspan="9" class="td-1-bg">
					<span class="td-span" style="font-size: 14px;width: 50px;">STL</span>
					<span class="td-span">进阶课程</span>
				</td>
				<td class="td-2-bg">
					<p style="width: 60px;">STL六大组件框架梳理
					</p>
				</td>
				<td  class="td-3-bg">
					<ul>
						<li>1.整体梳理六大组件间的关系</li>
						<li>2.列出重点及学习方向</li>
						<li>3.介绍剖析工具和剖析方法</li>
						<li>4.介绍剖析源代码及造轮子的价值</li>
					</ul>
				</td>
				
				<td class="td-2-bg">
					总体理解STL框架及学习方法
				</td>
			</tr>
			<tr>

				<td  class="td-2-bg">
				STL容器的
				<br/>深度剖析
				</td>
				<td class="td-3-bg">
					<ul>
						<li>1.vector/list的剖析及模拟实现</li>
						<li>2.了解deque的设计框架及优劣</li>
						<li>3.map/set的剖析及模拟实现</li>
						<li>4.unordered_map
							<br/>/unordered_set的剖析及模拟实现</li>
					</ul>
				</td>
				
				<td class="td-2-bg">
				深度剖析容器及造轮子
				</td>
			</tr>
			<tr>
				<td class="td-2-bg">
					STL空间配置器
					<br/>的深度剖析
				</td>
				<td class="td-3-bg">
					<ul>
						<li>1.空间配置器的剖析及模拟实现</li>
						<li>2.空间配置器的意义</li>
						<li>3.空间配置器的优缺点</li>
					</ul>
				</td>
				
				<td class="td-2-bg">
					深度剖析空间配置器及造轮子
				</td>
			</tr>
			<tr>
				<td  class="td-2-bg">
					STL适配器
					<br/>的深度剖析
				</td>
				<td class="td-3-bg">
					<ul>
						<li>1.常见的错误处理方式</li>
						<li>2.异常的抛出和捕获</li>
						<li>3.异常在实际中的使用</li>
						<li>4.异常的优缺点</li>
					</ul>
				</td>
				
				<td class="td-2-bg">
					深度剖析适配器及造轮子
				</td>
			</tr>
			<tr>
				<td  class="td-2-bg">
					STL迭代器
					<br/>的深度剖析
				</td>
				<td class="td-3-bg">
					<ul>
						<li>1.iterator设计模式的讲解</li>
						<li>2.iterator的意义及价值</li>
						<li>3.迭代器萃取的剖析及分析</li>
					</ul>
				</td>
				
				<td class="td-2-bg">
					深度剖析迭代器及造轮子
				</td>
			</tr>

			<tr>
				<td class="td-2-bg">各大组件大融合</td>
				<td class="td-3-bg">
					 <ul>
						<li> 1.将我们造的各大组件融合到一起</li>
						<li>2.深度分析理解STL的框架及核心思想</li>
					</ul>
				</td>
				
				<td class="td-2-bg">
					将大杂烩的知识整合到一起
					<br/>	拔高理解STL的思想深度
					<br/>	通过剖析一流高手的代码提升level
				</td>
			</tr>

		</table>
		<h3 id="know10">第10阶段</h3>
		<table class="first">
			<tr class="table-head">
			  <th>所处阶段</th>
			  <th>主讲内容</th>
			  <th>技术要点</th>

			  <th>学习目标</th>
			</tr>
			<tr>
				<td rowspan="9" class="td-1-bg">
					<span class="td-span" style="font-size: 14px;width: 50px; ">STL</span>
					<span class="td-span">编程课程</span>
				</td>
				<td class="td-2-bg">
					<p>SLinux进程基本概念</p>
					
				</td>
				<td  class="td-3-bg">
					<ul>
						<li>1.冯诺依曼体系与操作系统基本概念</li>
						<li>2.理解管理的概念与思路</li>
						<li>3.理解进程的基本概念</li>
						<li>4.理解Linux进程状态理解僵尸进程，孤儿进程</li>
						<li>5. 理解Linux进程的优先级</li>
						<li>6.理解Linux环境变量的概念掌握常见Linux环境变量</li>
						<li>7.理解进程的地址空间的基本概念</li>
					</ul>
				
				</td>
				
				<td class="td-2-bg">
					总体理解STL框架及学习方法
				</td>
			</tr>
			<tr>

				<td  class="td-2-bg">
				Linux进程控制
				</td>
				<td class="td-3-bg">
					<ul>
						<li>1.学习fork创建进程，理解本质原理</li>
						<li>2.学习如何终止进程，理解程序运行退出本质</li>
						<li>3.学习进程等待原理与方法，理解等待的本质以及必要性</li>
						<li>4.学习如何进行进程替换，理解进程替换本质</li>
					</ul>
					
				</td>
				
				<td class="td-2-bg">
				熟练掌握如何控制进程，
				<br/>把握程序运行的整个生命周期
				</td>
			</tr>
			<tr>
				<td class="td-2-bg">
					Linux基础IO
				</td>
				<td class="td-3-bg">
					<ul>
						<li>1.复习C期间学习的文件IO相关操作</li>
						<li>2.认识文件相关系统调用接口</li>
						<li>3.认识文件描述符,理解重定向</li>
						<li>4. 对比fd和FILE，理解系统调用和库函数的关系</li>
						<li>5. 理解文件系统中inode的概念</li>
						<li>6.认识软硬链接，对比区别</li>
						<li>7. 认识动态静态库，学会结合gcc选项，制作动静态库</li>
					</ul>
				</td>
				
				<td class="td-2-bg">
					熟练掌握系统IO，理解文件操作本质
				</td>
			</tr>
			<tr>
				<td  class="td-2-bg">
					Linux进程间通信
				</td>
				<td class="td-3-bg">
					<ul>
						<li>1.初识Linux进程间通信的概念与必要性</li>
						<li>2.编写管道(匿名和命名管道)程序，理解管道通信</li>
						<li>3.编写消息队列程序，理解消息队列</li>
						<li>4.学习Linux ipcs和ipcrm指令，学会手动控制IPC资源</li>
						<li>5. 编写共享内存程序，理解进程共享内存本质</li>
						<li>6.编写信号量程序，理解进程的同步与互斥的概念</li>
						<li>7.总结进程间通信，熟练掌握进程间通信特点</li>
					</ul>
					
				</td>
				

				<td class="td-2-bg">
					熟练应用进程间通信的基本方法，
					<br/>理解各自特点
				</td>
			</tr>
			<tr>
				<td  class="td-2-bg">
					Linux信号
				</td>
				<td class="td-3-bg">
					<ul>
						<li>1.掌握Linux信号的基本概念</li>
						<li>2.掌握信号产生的一般方式</li>
						<li>3. 理解信号递达和阻塞的概念，原理。</li>
						<li>4.掌握信号捕捉的一般方式</li>
						<li>5.重新了解可重入函数的概念</li>
						<li>6.了解竞态条件的情景和处理方式</li>
						<li>7.了解SIGCHLD信号， 重新编写信号处理函数的一般处理机制</li>
					</ul>
			
				</td>
				
				<td class="td-2-bg">
					理解Linux信号，通过内核数据结构的剖析，
					<br/>理解信号的本质
				</td>
			</tr>

			<tr>
				<td class="td-2-bg">Linux 多线程</td>
				<td class="td-3-bg">
					<ul>
						<li>1.了解线程概念，理解线程与进程区别与联系</li>
						<li>2.学会线程控制，线程创建，线程终止，线程等待。</li>
						<li>3. 了解线程分离与线程安全概念。</li>
						<li>4.学会线程同步与互斥</li>
						<li>5.学会使用互斥量，条件变量posix信号量，以及读写锁。</li>
						<li>6. 理解基于读写锁的读者写者问题</li>
					</ul>
				</td>
				<td class="td-2-bg">
					通过线程的学习，进一步理解进程，
					<br/>深度理解两者之间的区别
				</td>
			</tr>
				<tr>
				<td class="td-2-bg">
					进程间关系和
					<br/>守护进程
				</td>
				<td class="td-3-bg">
					<ul>
						<li>1. 理解进程组，作业，会话的基本概念与关系</li>
						<li>2.使用jobs，fg，bg命令来对，作业进程控制</li>
						<li>3. 学习与作业控制有关的信号。</li>
						<li>4.从零编写守护进程，理解守护进程在服务器中的重要地位</li>
						<li>5.学会使用互斥量，条件变量posix信号量，以及读写锁。</li>
						<li>6. 理解基于读写锁的读者写者问题</li>
					</ul>
				</td>
				
				<td class="td-2-bg">
					通过进程间关系的学习，
					<br/>深度理解shell的执行，
					<br/>理解服务器程序一般是如何运行的
				</td>
			</tr>
		</table>

	</div>

</template>

<script>
/*function Jump(index){
	for(var i=1;i<=10;i++){
		if(i <= parseInt(index)){
			$('#spot'+String(i)).css("background","#23b5ec");
			$('#text'+String(i)).css("color","#23b5ec");
		}else{
			$('#spot'+String(i)).css("background","#cccccc");
			$('#text'+String(i)).css("color","#cccccc");
		}
	}
}
*/
	export default{
		name:'KnowSystm',
		mounted(){
			/*$('#spot1').css("background","#23b5ec");
			$('#text1').css("color","#23b5ec");
			$(".know1-text").click(function(){
				var pre = $(this).attr("index");
				$('html, body').animate({
						scrollTop: $("#know"+String(pre)).offset().top
				}, 2000);
			});
			$(window).scroll(function(event){
				if($(window).scrollTop() >= $('#know1').offset().top && $(window).scrollTop() < $('#know2').offset().top){
					Jump(1);
				}else if ($(window).scrollTop() >= $('#know2').offset().top && $(window).scrollTop() < $('#know3').offset().top) {
					Jump(2);
				}else if ($(window).scrollTop() >= $('#know3').offset().top && $(window).scrollTop() < $('#know4').offset().top) {
					Jump(3);
				}else if ($(window).scrollTop() >= $('#know4').offset().top && $(window).scrollTop() < $('#know5').offset().top) {
					Jump(4);
				}else if ($(window).scrollTop() >= $('#know5').offset().top && $(window).scrollTop() < $('#know6').offset().top) {
					Jump(5);
				}else if ($(window).scrollTop() >= $('#know6').offset().top && $(window).scrollTop() < $('#know7').offset().top) {
					Jump(6);
				}else if ($(window).scrollTop() >= $('#know7').offset().top && $(window).scrollTop() < $('#know8').offset().top) {
					Jump(7);
				}else if ($(window).scrollTop() >= $('#know8').offset().top && $(window).scrollTop() < $('#know9').offset().top) {
					Jump(8);
				}else if ($(window).scrollTop() >= $('#know9').offset().top && $(window).scrollTop() < $('#know10').offset().top) {
					Jump(9);
				}else if ($(window).scrollTop() >= $('#know10').offset().top){
					Jump(10);
				}
			});*/
		},
	}
</script>

<style>
	.know1-text{
		width: 100px;
	}
	.know1-text span{
		font-size: 16px;
		color: #cccccc;
	}
	.know-a a{
		position: relative;
		text-decoration:none ;

		z-index: 100;
		display: inline-block;
		width: 10px;
		height: 10px;
		background:#cccccc;
		box-shadow: 2px 2px 5px gray;
		border-radius: 50% 50%;
		margin-top: 30px;
	}
	.a-active{
		width: 17px!important;
		height: 17px!important;
		background: #16cbe3!important;
	}
	.know-bg{
		position: absolute;
		top: 0;
		left: 15px;
		width: 2px;
		height: 480px;
		background:#cccccc;
		z-index: 1;
	}
	.know-a{
		position: fixed;
		left: 80px;
		top: 150px;
		width: 20px;

	}
	.td-span{
		display: inline-block;
		width: 18px;
		position: relative;
		vertical-align: middle;
		color: #23b5ec;
		font-weight: bold;
	}

	table{
		color: #8c8c8c;
	}
	.td-1-bg{
		background: #f0f0f0;
	}
	.td-2-bg{
		background: #e6e6e6;

	}
	.td-3-bg{
		background: #f0f0f0;
		text-align: left;
		padding-left: 10px;
	}
	.know-list{
		width: 100%;
		text-align: center;
		background: #f7f5f5;
		top: 80px;
		position: relative;
	}
	.first{
		width: 100%;
		min-height: 150px;
		display: inline-block;
		background: wheat;
		border-collapse: collapse;
		font-size: 12px;
		margin-bottom: 20px;
	}
	.know-list th,.know-list td{
		border: solid 1px #f7f5f5;
		height: 50px;
	}
	.know-list tr{
		width: 100%;
	}
	.table-head{
		background: -moz-linear-gradient(left,#20b8e9,#69e3d8)!important;
		background: -webkit-linear-gradient(left,#20b8e9,#69e3d8)!important;

	}
	.know-list ul{
		padding: 0;
		list-style: none;
		text-align: left;
		width: 102px;
	}
	th{
		color: white;
	}
	h3{
		margin: 0;
		width: 100%;
		text-align: left;
		display: inline-block;
		padding-top: 10px;
		padding-bottom: 10px;
	}


</style>
